home *** CD-ROM | disk | FTP | other *** search
/ Graphics Plus / Graphics Plus.iso / amiga / gui / prcgntn1.lha / Precognition / source / PositionerClass.h < prev    next >
C/C++ Source or Header  |  1992-12-23  |  3KB  |  130 lines

  1. /* ==========================================================================
  2. **
  3. **                   PositionerClass.h
  4. **
  5. ** ⌐1991 WILLISoft
  6. **
  7. ** ==========================================================================
  8. */
  9.  
  10. #ifndef POSITIONERCLASS_H
  11. #define POSITIONERCLASS_H
  12.  
  13. #include "Positioner.h"
  14. #include "ValuatorClass.h"
  15.  
  16.  
  17. struct PositionerClass
  18. {
  19.    Class *isa;
  20.    char  *ClassName;
  21.  
  22.    void   (*CleanUp)
  23.             ( Positioner *self );
  24.    Point (*Location)
  25.             ( const Positioner *self );
  26.    Point (*SetLocation)
  27.             ( Positioner *self,
  28.               PIXELS      LeftEdge,
  29.               PIXELS      TopEdge );
  30.    Point (*Size)
  31.             ( const Positioner *self );
  32.    Point (*AskSize)
  33.             ( const Positioner *self,
  34.               PIXELS            Width,
  35.               PIXELS            Height );
  36.    Point (*SetSize)
  37.             ( Positioner *self,
  38.               PIXELS      Width,
  39.               PIXELS      Height );
  40.    UWORD  (*SizeFlags)
  41.             ( const Positioner *self );
  42.  
  43.    void (*Render)
  44.             ( Positioner *self,
  45.               RastPort  *RPort );
  46.  
  47.    BOOL (*SetTitle)
  48.             ( Positioner *self,
  49.               char      *title );
  50.  
  51.    char *(*Title)
  52.             ( Positioner *self );
  53.  
  54.    AlignInfo (*TextAlignment)( GraphicObject *self );
  55.  
  56.    AlignInfo (*SetTextAlignment)
  57.             ( GraphicObject *self,
  58.               UBYTE         Flags,
  59.               BYTE          Xpad,
  60.               BYTE          Ypad );
  61.  
  62.    Class *BuilderMethods;
  63.  
  64.    struct pcgWindow *(*InteractorWindow)
  65.             ( Positioner *self );
  66.  
  67.    void (*SetInteractorWindow)
  68.             ( Positioner       *self,
  69.               struct pcgWindow *window );
  70.  
  71.    Gadget *(*FirstGadget)
  72.             ( Positioner *self );
  73.  
  74.    USHORT (*nGadgets)
  75.             ( Positioner *self );
  76.  
  77.    ULONG (*IDCMPFlags)
  78.             ( Positioner *self );
  79.  
  80.    USHORT (*ClaimEvent)
  81.             ( Positioner   *self,
  82.               IntuiMessage *event );
  83.  
  84.    USHORT (*Respond)
  85.             ( Positioner   *self,
  86.               IntuiMessage *event );
  87.  
  88.    void (*Refresh)
  89.             ( Positioner    *self );
  90.  
  91.    BOOL (*EnableIactor)
  92.             ( Positioner *self,
  93.               BOOL       enable );
  94.  
  95.    BOOL (*isEnabled)
  96.             ( Positioner *self  );
  97.  
  98.    BOOL (*Activate)
  99.             ( Positioner *self,
  100.               BOOL       activate );
  101.  
  102.    BOOL (*isActive)
  103.             ( Positioner *self );
  104.  
  105.    LONG (*Value)
  106.             ( Positioner *self );
  107.  
  108.    LONG (*SetValue)
  109.             ( Positioner *self,
  110.               LONG      selection );
  111.  
  112. /*--- New Methods ----------------------------*/
  113.  
  114.    USHORT (*KnobSize)
  115.             ( Positioner *self );
  116.  
  117.    USHORT (*SetKnobSize)
  118.             ( Positioner *self,
  119.               USHORT      knobsize );
  120.  
  121. };
  122.  
  123.  
  124. struct PositionerClass *PositionerClass( void );
  125.  
  126. void PositionerClass_Init( struct PositionerClass *class );
  127.  
  128.  
  129. #endif
  130.